home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 6: Level 6 / 17 Bit - Level 6 (1998)(Epic Marketing)[!].iso / !applications! / symphonie / dsplugin / dspplugin halvevol.s < prev    next >
Text File  |  1994-04-11  |  3KB  |  156 lines

  1.     MC68020
  2.  
  3. SST_SYS_GetMem            EQU    0
  4. SST_SYS_FreeMem            EQU    4
  5.  
  6. SST_FILE_RequestFileName    EQU    100
  7. SST_FILE_SetReqPattern        EQU    104
  8. SST_FILE_SetReqDir        EQU    108
  9. SST_FILE_GetFileName        EQU    112
  10. SST_FILE_GetFileLen        EQU    116
  11.  
  12. SST_GFX_AssistText        EQU    200
  13. SST_GFX_AssistDecLong        EQU    204
  14. SST_GFX_AssistDecByte        EQU    208
  15. SST_GFX_AssistHexLong        EQU    212
  16.  
  17. SST_AUDIO_GetChunkLen        EQU    400
  18.  
  19. SST_PTR_EXECBASE        EQU    1600
  20. SST_PTR_INTBASE            EQU    1604
  21. SST_PTR_DOSBASE            EQU    1608
  22. SST_PTR_ASLBASE            EQU    1612
  23. SST_PTR_REQTOOLSBASE        EQU    1616
  24. SST_PTR_GFXBASE            EQU    1620
  25.  
  26. SST_PTR_Screen            EQU    1650
  27.  
  28. SST_ADR_ProcessorFlags        EQU    1800
  29. SST_ADR_SystemFrequency        EQU    1804
  30. SST_ADR_SystemBpm        EQU    1808
  31. SST_ADR_ChunkLen        EQU    1812
  32. SST_ADR_OversampleFlag        EQU    1816
  33. SST_ADR_MaxAmplitude        EQU    1820    ;$7fff in SymPRO
  34. SST_ADR_BitPerSample        EQU    1824    ;16 for 16 Bit Stream
  35.  
  36.  
  37.  
  38.     dc.b    "Symphonie DSP Plugin"    ;MAGIC String    (PRIVATE)
  39.     dc.w    1,0            ;Version,Release (PRIVATE,DO NOT CHANGE)
  40.  
  41.     ;- DSPLIB -------------------------------------------------
  42.  
  43.     jmp    InitDSP(PC)        ;Allocate Mem, Build your Tables
  44.     jmp    CleanUpDSP(PC)        ;Free Mem
  45.  
  46.     jmp    ProcDsp(PC)        ;Process DSP algorithm (interrupt)
  47.  
  48.     jmp    GetDspTitle(PC)        ;Get DSP algorithm Title
  49.     jmp    ModifyValue(PC)        ;notify changed Value
  50.  
  51.     jmp    GraphSizeModify(PC)    ;notify graph size has changed
  52.     jmp    RefreshGraph(PC)    ;notify its time for a GFX update
  53.  
  54.     jmp    StartDSP(PC)        ;notify start
  55.     jmp    StopDSP(PC)        ;notify stop
  56.     dc.l    -1
  57.  
  58.     ;- CODE --------------------------------------------------
  59.  
  60.  
  61. StartDSP
  62.     rts
  63.  
  64. StopDSP
  65.     rts
  66.  
  67. GraphSizeModify
  68.     rts
  69.  
  70. RefreshGraph
  71.     move.l    SUPERSTBASE(PC),a6
  72.     move.l    SST_ADR_SystemFrequency(a6),d0
  73.     move.l    SST_ADR_SystemFrequency(a6),d0
  74.     move.l    #SST_GFX_AssistDecLong,d7
  75.     bsr    GoSST
  76.  
  77.     move.l    SST_ADR_SystemBpm(a6),d0
  78.     bsr    GoSST
  79.  
  80.     move.l    SST_ADR_ChunkLen(a6),d0
  81.     bsr    GoSST
  82.  
  83.     move.w    test(PC),d0
  84.     bsr    GoSST
  85.  
  86.     rts
  87.  
  88. ModifyValue    ;INPUT (D0L,D1L)(VALUE, PARAMETER ID)
  89.     rts
  90.  
  91. GoSST
  92.     move.l    a6,-(sp)
  93.     move.l    SUPERSTBASE(PC),a6
  94.     move.l    (a6,d7.w),a6
  95.     jsr    (a6)
  96.     move.l    (sp)+,a6
  97.     rts
  98.  
  99.  
  100. InitDSP        ;INPUT (A0L)(SUPERSUPPORTTABLE_PTR)
  101.         ;OUTPUT (A0L)(PARAMETER GUI DEF_PTR)
  102.     lea.l    SUPERSTBASE(PC),a1
  103.     move.l    a0,(a1)
  104.  
  105.     lea.l    Welcome_TXT(PC),a0
  106.     move.l    #SST_GFX_AssistText,d7
  107.     bsr    GoSST
  108.  
  109.  
  110.  
  111.  
  112.     lea.l    Parameter_DEF(PC),a0
  113.     rts
  114.  
  115. CleanUpDSP    rts
  116.  
  117. GetDspTitle    ;OUTPUT (A0L)(DSPTitle_TXT)
  118.     lea.l    DSPTitle(PC),a0
  119.     rts
  120.  
  121. ProcDsp
  122.     movem.l    d0-a6,-(sp)
  123.  
  124.     subq.l    #1,d0
  125.  
  126. .loop
  127.     move.l    (a1),d1
  128.     asr.w    #1,d1
  129.     swap    d1
  130.     asr.w    #1,d1
  131.     swap    d1
  132.     move.l    d1,(a1)+
  133.     dbf    d0,.loop
  134.     
  135.     movem.l    (sp)+,d0-a6
  136.     rts
  137.  
  138.  
  139.     ;- GUI ------------------------------------------------------
  140.  
  141.     even
  142. Parameter_DEF
  143.     dc.b    0        ;END OF GUI DEF
  144.  
  145.     ;- TITLE ----------------------------------------------------
  146.  
  147.  
  148.         dc.b    "$VER: "
  149. DSPTitle    dc.b    "Test Dsp Plugin v1.0",0
  150. Welcome_TXT    dc.b    "Welcome to DSP test",0
  151.  
  152.         even
  153. SUPERSTBASE    dc.l    0
  154. test        dc.l    0
  155.     END
  156.